Home | English | Korean | Contact Us | Sitemap | Application Server Framework, India
Application Software Development India Application Software Development Company - Synergy Infotech Pvt. Ltd. Application Software Development India
 
|
|
|
|
 
Application Software Development India



SynChro

APPLICATION SERVER FRAMEWORKS


Print Now

Synergy Infotech Application Server Framework

An application server is a program that provides services to other programs, usually over a network. An application server is characterized by a single server supporting thousands of clients simultaneously. Web servers, business logic servers, telecom servers, VoIP servers, media streaming servers, instant messaging servers, chat servers and mail servers are some examples of application servers. An application server framework gives the software infrastructure to develop such servers.

The term application server is quite generic and applies to a wide range of servers. On one end of the spectrum are generic application servers like a web server or a J2EE server, on which applications like web-based email, groupware and supply-chain management systems can be developed. On the other end are application servers for specific operations like a telecom server.

Features of an Application Server

Some salient features that an application server needs to provide are the following:

  1. Fairness: The server should have the ability to serve several clients simultaneously. In the process of serving several clients, no particular client should be starved of attention from the server.
  2. Robustness: Any exceptions that arise during serving one client should not affect the service provided to other clients. The server should anticipate and be able to recover from normal software errors.
  3. Manageability: The server should allow the operator to efficiently manage the available resources like CPU time and memory.
  4. Maintainability: The server should have diagnostics and alarms to be able to detect, log and analyze expected and unexpected behavior.
  5. Security: The server should provide sound security to its control and operation, data and communication.

Some desirable features that an application server needs to provide are the following:

  1. Programmability: Tools to implement applications on the server, Wizards, GUI, etc to develop user interfaces, code generators and the like should be provided. Programming should be possible in commonly used languages like C++, Java, Perl and Python using popular idioms and patterns.
  2. Standards compliance: The server should support adaptors for standard protocols like SOAP, XML RPC, etc
  3. Localizability: The server should support foreign languages using Unicode and/or UTF-8.
  4. High performance: The server should make the best use of the hardware resources.
  5. Scalability: Linear scaling of capacity when more hardware is added is desirable.
  6. Portability: Ability to easily port the server to run on a variety of platforms like Windows and various flavors of Unix may be desirable.

Application Server Frameworks

To provide these features, an application server framework gives libraries, implementation of standard design patterns and tools to work with these. Typically, an application server framework provides the following:

  1. Platform: Process and thread infrastructure, synchronization mechanisms, network interfaces, timers and exception handling are provided by the framework. Usually it provides a wrapper around what the OS provides.
  2. Abstract Data Types: The framework provides standard implementations of lists, vectors, strings, hash tables and the like.
  3. Messaging system: The framework provides a messaging system for the various components of the application to talk to each other and to the outside world.
  4. Logging: The framework provides a module-wise filterable logging mechanism and tools to analyze the logs.
  5. Configuration: The framework provides a uniform configuration mechanism, which can be easily adopted by all extensions and applications written on the framework.
  6. Management: The framework provides a well-defined architecture for installing, deploying and managing the components.
  7. Standard libraries: The framework provides standard libraries for common tasks like DES and PKI encryption, XML parsing and database connectivity.

Commonly Available Application Server Frameworks

There are several free and commercial application server frameworks, which provide these features. Some well-known application server frameworks are Jboss, IBM Websphere, BEA Weblogic, Apache Struts, Oracle AS and the like. Most of the application servers are written in Java. The Java language, its libraries and popular open source modules like Apache Tomcat, Apache LogKit, Apache Turbine and JSEE have almost all the components essential to a good application server. These have been very successful in developing Application Servers for business applications.

Synergy’s Application Server Framework

However, there are not many Application Server Frameworks targeted towards high performance carrier grade server systems. Almost all telecom systems use their own proprietary framework. Often they use proprietary languages also.

Synergy Retargettable Application Server (SyRAS) Framework is a carrier grade framework developed in C++. It is available for Linux and Windows. It has a very clearly defined application development process. It has tools and wizards to assist in developing applications.

SyRAS can give a tremendous boost to the development of VoIP, PoC and other enterprise and telecom solutions in terms of time to market and scalability.

Choosing the Right Framework

It is vital to choose the right framework for any non-trivial server application. The main drivers here are the following.

  1. Applicability: Different frameworks are designed for different types of applications. Some frameworks have a steep learning curve and give good performance and reliability. Some frameworks have tools to easily develop and deploy business applications.
  2. Support: Documentation and support are vital to be able to utilize the various features provided by the framework.
  3. Talent: The availability of talent pool that is familiar with the application server framework plays a big role in software industry characterized by high attrition and tight schedules.

Never start a big server project from the scratch. Most of the common work is already done and is available as application server frameworks.

   
Print Now

 Disclaimer  |   Privacy Policy   |   Webmaster   |   Resources
Application Software Development India © 2005 Synergy Infotech. All Rights Reserved.-